#ifndef _GAME_STATE_MANAGER_H_
#define _GAME_STATE_MANAGER_H_

#include <vector>

#include "GameState.h"

#include "Singleton.h"

class GameStateManager : public Singleton<GameStateManager>
{
public:
    void addGameState( GameState * state );
    void run( void );

    GameStateManager( void );
protected:
    void popGameState( void );
    std::vector<GameState *> m_gameStates;

};

#endif // _GAME_STATE_MANAGER_H_
